{% from "components/macros/layout.html" import card, chip, stat_row %} {% from "components/macros/form.html" import action %} {% from "components/macros/feedback.html" import empty_state %} {% from "components/macros/table.html" import data_table, pager as pager_links %} {% macro execution_detail(row) %}
{% if row.error %}

Error details

{{ row.error }}
{% endif %} {{ stat_row([("Job ID", row.job_id), ("Scheduled", row.scheduled), ("Finished", row.finished)]) }}
{% endmacro %} {% if not history_available %} {{ empty_state("No execution history", "Execution history needs a persistent scheduler backend (sqlite or postgres). This scheduler keeps its jobs in memory.") }} {% else %} {% call card("Execution history", "Newest first") %}
{% if job %} Only {{ job.name }} {{ chip("All jobs", False, job.clear_url, hx_replace(job.clear_url, "#overseer-main")) }} {% endif %}
{{ action("Refresh", hx_replace(here, "#overseer-main")) }}
{{ data_table([ {"key": "job", "label": "Job"}, {"key": "duration", "label": "Duration", "align": "right"}, {"key": "started", "label": "Started"}, {"key": "state", "label": "Status", "kind": "status"}, ], executions, empty="No execution history available", detail=execution_detail) }} {{ pager_links(pager, "#overseer-main") }} {% endcall %} {% endif %}